home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 April / EnigmA AMIGA RUN 06 (1996)(G.R. Edizioni)(IT)[!][issue 1996-04][Skylink CD V].iso / internet / others / spoolwatch.lha / SpoolWatch / Src / DateDiff.c < prev    next >
C/C++ Source or Header  |  1995-09-23  |  2KB  |  65 lines

  1.  
  2. /*
  3.  *    Function    DateDiff
  4.  *    Programmer    N.d'Alterio
  5.  *    Date        13/09/95        
  6.  *    
  7.  *  Synopsis:    Returns difference between 2 date stamps in days,
  8.  *        hours and minutes.
  9.  *
  10.  *  Arguments:     dt1                First DateStamp structure.
  11.  *         dt2                Second DateStamp structure.
  12.  *        *days                To return number of days.
  13.  *        *hours                To return number of hours.
  14.  *        *mins                To return number of minutes.
  15.  *
  16.  *  Returns:    None.
  17.  *
  18.  *  Variables:    total_minutes1            DateStamp1 converted into minutes
  19.  *        total minutes2            DateStamp2 converted into minutes
  20.  *         time_diff            Temp variable
  21.  *
  22.  *  $Id: DateDiff.c 1.3 1995/09/23 16:45:49 daltern Exp $
  23.  *
  24.  */
  25.  
  26. #include "SpoolWatch.h"
  27.  
  28. void DateDiff( struct DateStamp dt1, struct DateStamp dt2, 
  29.                                    int *days, int *hours, int *mins )
  30.  
  31. {
  32.  
  33.   long int total_mins1;
  34.   long int total_mins2; 
  35.  
  36.   long int time_diff;
  37.  
  38. /*
  39.  *   Convert datestamps to minutes before taking difference.
  40.  */
  41.  
  42.   total_mins1 = ( 1440 * dt1.ds_Days ) + dt1.ds_Minute;
  43.   total_mins2 = ( 1440 * dt2.ds_Days ) + dt2.ds_Minute;
  44.  
  45.   time_diff = total_mins1 - total_mins2;
  46.  
  47. /*
  48.  *   Convert diff minutes to days/hours/minutes diff
  49.  */
  50.  
  51.   *days      = time_diff / 1440;
  52.  
  53.   time_diff  = time_diff - ( 1440 * (*days) );
  54.   *hours     = time_diff / 60;
  55.  
  56.   *mins      = time_diff - ( 60 * (*hours) );
  57.  
  58.   return;
  59.  
  60. }   /* end function DateDiff */
  61.  
  62.  
  63. /*========================================================================*
  64.                           END FUNCTION DateDiff
  65.  *========================================================================*/